# filelist.f
# ============================================================================
# UVM Library (must be compiled first)
# ============================================================================
${VCS_HOME}/etc/uvm/src/uvm_pkg.sv

# ============================================================================
# DUT (Design Under Test) Files
# ============================================================================

# Core type and parameter files must be listed first so they are compiled
# into the global scope before other files that use them
${PROJECT_PATH}/include/dtype.svh
${PROJECT_PATH}/include/isa.svh
${PROJECT_PATH}/include/param.svh
${PROJECT_PATH}/design/aru/aru_param.svh
${PROJECT_PATH}/design/aru/aru_intf.svh


# Common modules
${PROJECT_PATH}/design/common/common_mux_n_to_1.sv
${PROJECT_PATH}/design/common/common_delay_line.sv

# Corrected paths based on the actual directory structure.
${PROJECT_PATH}/design/aru/aru_binary/aru_binary_add_sub.sv
${PROJECT_PATH}/design/aru/aru_binary/aru_binary_max_min.sv
${PROJECT_PATH}/design/aru/aru_binary/aru_binary_mul.sv
${PROJECT_PATH}/design/aru/aru_binary/aru_binary_div.sv

${PROJECT_PATH}/design/fpu/bf16_add.sv
${PROJECT_PATH}/design/fpu/bf16_fpdiv.sv
${PROJECT_PATH}/design/fpu/bf16_fpexp.sv
${PROJECT_PATH}/design/fpu/bf16_fpmult.sv
${PROJECT_PATH}/design/fpu/bf16_fpsqrt.sv

# ============================================================================
# UVM Testbench Files
# ============================================================================
# The tb_top is the top-level module that starts the test.

${PROJECT_PATH}/unit_test/aru/aru_binary_uvm/uvm_components/binary_alu_if.sv
${PROJECT_PATH}/unit_test/aru/aru_binary_uvm/tb_top.sv

${PROJECT_PATH}/unit_test/aru/aru_binary_uvm/uvm_components/binary_alu_transaction.sv
${PROJECT_PATH}/unit_test/aru/aru_binary_uvm/uvm_components/binary_alu_scoreboard.sv

${PROJECT_PATH}/unit_test/aru/aru_binary_uvm/uvm_components/binary_alu_driver.sv
${PROJECT_PATH}/unit_test/aru/aru_binary_uvm/uvm_components/binary_alu_monitor.sv
${PROJECT_PATH}/unit_test/aru/aru_binary_uvm/uvm_components/binary_alu_sequencer.sv
${PROJECT_PATH}/unit_test/aru/aru_binary_uvm/uvm_components/binary_alu_agent.sv

${PROJECT_PATH}/unit_test/aru/aru_binary_uvm/uvm_components/binary_alu_env.sv
${PROJECT_PATH}/unit_test/aru/aru_binary_uvm/uvm_components/binary_alu_sequences.sv

${PROJECT_PATH}/unit_test/aru/aru_binary_uvm/uvm_components/tests/binary_alu_tests.sv

